Riqueza de Especies de Mamíferos

Autor/a

Irina Pérez y Paulina Muriillo

Introducción

Esta página web contiene información sobre datos de especies de mamíferos que se encuentran en distintas partes del territorio del país, con estos datos se realizó una tabla que especifica la riqueza de mamíferos en cada región de Costa Rica, un mapa interactivo donde se muestra la cantidad de especies en cada región y la información específica sobre cada una de las especies de mamíferos que hay en el país. Ádemas, se realizó un gráfico que muestra los tados que presenta la tabla y un gráfico de barras de cantidad de registros de presencia de Bradypus variegatus (perezoso de tres dedos) por año, desde 2000 hasta 2023.

La información que se utilizó sobre las especies de mamíferos fue extraída del portal de datos de la Infraestructura Mundial de Información en Biodiversidad GBIF y el archivo sobre las regiones soscieconómicas fue tomado del Atlas digital de Costa Rica 2014 el cual fue facilitado por el Ministerio de Planificación (Mideplán).

Carga de Paquetes

# Carga de paquetes
library(tidyverse)
library(DT)
library(plotly)
library(ggplot2)
library(sf)
library(rgdal)
library(raster)
library(terra)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(ggthemes)
library(hrbrthemes)
library(viridisLite)
library(readr)
library(RColorBrewer)

Carga de Datos

Código
# Carga de datos de regiones
regiones <-
  st_read(
    dsn = "regiones_socioeconomicas_simp_10m.geojson",
    quiet = TRUE
          )|>
  st_transform(4326)

# Carga de datos de mamiferos
mamiferos <-
  st_read("mamiferos.csv",
          options = c(
      "X_POSSIBLE_NAMES=decimalLongitude", 
      "Y_POSSIBLE_NAMES=decimalLatitude"
    ),
    quiet = TRUE
  )
# Asignacion de CRS WGS84
st_crs(mamiferos) <- 4326

Tabla de riqueza de especies de mamíferos en regiones socioeconómicas

Código
# Unión espacial de mamiferos y regiones
mamiferos_union_regiones <- 
  st_join(
    x = mamiferos,
    y = dplyr::select(regiones, region),
    join = st_within
  )

# Conteo de la cantidad de especies de mamiferos en regiones
riqueza_especies_mamiferos_regiones <-
  mamiferos_union_regiones |>
  st_drop_geometry() |>
  group_by(region) |>
  summarize(riqueza_especies_mamiferos = n_distinct(species, na.rm = TRUE))

# Unión (no espacial) de regiones y riqueza de especies
regiones_union_riqueza <-
  left_join(
    x = regiones,
    y = dplyr::select(riqueza_especies_mamiferos_regiones, region, riqueza_especies_mamiferos),
    by = "region"
  ) |>
  replace_na(list(riqueza_especies_mamiferos = 0))

# Despliegue de los datos de riqueza de especies en regiones
regiones_union_riqueza |>
  st_drop_geometry() |>
  dplyr::select(region, riqueza_especies_mamiferos) |>
  arrange(desc(riqueza_especies_mamiferos)) |>
  datatable(
    colnames = c("Región", "Riqueza de Especies de Mamíferos"),
    options = list(
      pageLength = 5,
      language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
    )
  )

Mapa de riqueza de especies de mamíferos en regiones socioeconómicas

Código
# Paleta de colores de riqueza de especies
colores_riqueza_especies <-
  colorNumeric(
    palette = "Reds",
    domain = regiones_union_riqueza$riqueza_especies_mamiferos,
    na.color = "transparent"
  )

# Paleta de colores de especies
colores_especies <- colorFactor(
  palette = viridis(length(unique(mamiferos$species))), 
  domain = mamiferos$species
)

# Mapa leaflet
leaflet() |>
  setView(
    lng = -84.19452,
    lat = 9.572735,
    zoom = 7) |>
  addTiles(group = "Mapa general (OpenStreetMap)") |>
  addProviderTiles(
    providers$Esri.WorldImagery, 
    group = "Imágenes satelitales (ESRI World Imagery)"
  ) |> 
  addPolygons(
    data = regiones_union_riqueza,
    fillColor = ~ colores_riqueza_especies(regiones_union_riqueza$riqueza_especies_mamiferos),
    fillOpacity = 0.8,
    color = "black",
    stroke = TRUE,
    weight = 1.0,
    popup = paste(
      paste("<strong>Región:</strong>", regiones_union_riqueza$region),
      paste("<strong>Riqueza de especies:</strong>", regiones_union_riqueza$riqueza_especies_mamiferos),
      sep = '<br/>'
    ),
    group = "Riqueza de especies"
  ) |>
  addScaleBar(
    position = "bottomleft", 
    options = scaleBarOptions(imperial = FALSE)
  ) |>    
  addLegend(
    position = "bottomleft",
    pal = colores_riqueza_especies,
    values = regiones_union_riqueza$riqueza_especies_mamiferos,
    group = "Riqueza de especies",
    title = "Riqueza de especies"
  ) |>
  addCircleMarkers(
    data = mamiferos,
    stroke = F,
    radius = 4,
    fillColor = ~colores_especies(mamiferos$species),
    fillOpacity = 1.0,
    popup = paste(
      paste0("<strong>Especie: </strong>", mamiferos$species),
      paste0("<strong>Región: </strong>", mamiferos$region),
      paste0("<strong>Fecha: </strong>", mamiferos$eventDate),
      paste0("<strong>Fuente: </strong>", mamiferos$institutionCode),
      paste0("<a href='", mamiferos$occurrenceID, "'>Más información</a>"),
      sep = '<br/>'
    ),    
    group = "Registros de presencia"
  ) |>  
  addLayersControl(
    baseGroups = c(
      "Mapa general (OpenStreetMap)", 
      "Imágenes satelitales (ESRI World Imagery)"
    ),
    overlayGroups = c(
      "Riqueza de especies",
      "Registros de presencia"
    )
  ) |>
  addResetMapButton() |>
  addSearchOSM() |>
  addMouseCoordinates() |>
  addFullscreenControl() |>
  hideGroup("Registros de presencia") 

Gráfico de barras de riqueza de especies de mamíferos en regiones socioeconómicas

Código
grafico_barras_ggplot2 <-
riqueza_especies_mamiferos_regiones |> 
  ggplot(aes(x = region)) +
  geom_bar(
    aes(
      text = paste0(
        "Riqueza de especies mamiferos: ", after_stat(count)
      )
    ),    
  ) +
  ggtitle("Riqueza de especies de mamíferos en Regiones Socioeconómicas") +
  xlab("Región Socioeconomica") +
  ylab("Cantidad") +
  theme_solarized()

# Gráfico de barras plotly
ggplotly(grafico_barras_ggplot2, tooltip = "text") |> 
  config(locale = 'es')

Gráfico de barras de cantidad de registros de presencia de Bradypus variegatus (perezoso de tres dedos) por año, desde 2000 hasta 2023

Código
perezoso <- data.frame(
  region = c("Brunca", "Central", "Huetar Caribe", "Chorotega", "Huetar Norte", "Pacífico Central"),
  riqueza_especies = c("Bradypus variegatus"),
año = c(2000: 2023)
)

grafico_barras_ggplot2 <-
perezoso|>
  ggplot(aes(x = año)) +
  geom_bar(
    aes(
      text = paste0(
        "Registro de presencia: ", after_stat(count)
      )
    ),    
  ) +
  ggtitle("Presencia de Bradypus variegatus  por año") +
  xlab("Año") +
  ylab("presencia de Bradypus variegatus") +
  theme_solarized()

# Gráfico de barras plotly
ggplotly(grafico_barras_ggplot2, tooltip = "text") |> 
  config(locale = 'es')